// 创建数组  -> 和python 列表一样，但是和java，c数组不一样
var arr = [11, 22, 33, 44, 55];
console.log(arr);
console.log(typeof arr);

var arr = new Array(11, 22, 33);
console.log(arr);

var arr = [];
arr.push("abc");     // 在数组的后面增加新内容
arr.push("def");
arr.push("ghi");
console.log(arr);

arr.unshift("zxc"); // 在数组的前面添加新内容
console.log(arr);

var item = ["自行车", "电动车", "摩托车", "汽车", "坦克"];
var element = item.shift(); // 从前面删除
console.log(element);
console.log(item);

var ele = item.pop(); // 最后的元素删除
console.log(ele);
console.log(item);

// 上述逻辑  双向列表

var arr = ['吃瓜', '我爱你', '我恨你', '还我钱'];
var r = arr.join("_");
console.log(r); // 吃瓜_我爱你_我恨你_还我钱

var b = arr.slice(2, 3); // 数组的截取
console.log(b);
console.log(arr);

// 数组循环
var array = ['吃瓜', '我爱你', '我恨你', '还我钱'];
for (var i = 0; i < array.length; i++) {
    console.log(array[i]);
}

for (var x in arr) {
    console.log(x, arr[x]);  // 带索引
}

for (var x of array) {
    console.log(x);  // 直接拿元素
}

var arr = ['吃瓜', '我爱你', '我恨你', '还我钱'];
// foreach会拿arr中每一项数据去执行 里面的函数
arr.forEach(function (e, t) {
    console.log(e, t); // 第一个参数是数据，第二个参数是索引
})
console.log("===>");
// map会拿arr中每一项数据取执行里面的函数，会收集每一项计算之后的结果
var r = arr.map(function (e, t) {
    console.log(e, t);
    return e + t;
});
console.log(r);














